1. Field of the Invention
The present invention relates to an apparatus for fast playback of moving pictures, and more particularly, to a variable bit rate MPEG2 video decoder having a variable rate fast playback function for controlling playback speed in a playback mode according to the amount of data.
Currently, systems for storage and transmission of images utilize analog signal processing techniques. However, utilization of digital image processing techniques would improve image quality, reliability of image storage and transmission, and ease of image processing. Digital image processing technology is now being applied in HDTVs, DVCRs and video conferencing systems, and the applications of digital image processing techniques will surely proliferate.
On the other hand, for images processed by digital techniques, there is an enormous amount of data compared to analog techniques. Accordingly, compression of image data is required for practicality in transmission and storage of digital image data. Also, a decoder for restoring the compressed image data back to its original form would be required.
2. Description of the Related Art
FIG. 1 is a block diagram showing the structure of a conventional variable bit rate MPEG2 video encoder which includes a first field/frame memory 110, a discrete cosine transformer (DCT) 120, a quantizer 130, a variable length coder (VLC) and multiplexer (MUX) 140, a buffer 150, an activity calculator 160, a rate controller 170, an inverse quantizer 180, an inverse DCT 190, a second field/frame memory 200, a motion estimator 210, and an adaptive estimator 220.
The first field/frame memory 110 is for storing an input source image in a field or frame unit from a frame memory 100 according to the encoding mode. The DCT 120 is for performing a discrete cosine transform with respect to a differential image signal obtained from the current image signal output from the first field/frame memory 110 and a previous image signal which has been motion-compensated. The quantizer 130 is for quantizing the output signal from the DCT 120 with a predetermined step size. The VLC & MUX 140 is for variable-length-coding the output signal from the quantizer and multiplexing a quantization parameter and a motion vector. The buffer 150 is for temporarily storing the data output from the VLC & MUX 140 before being transmitted to a receiving port via a channel at a predetermined speed. The activity calculator 160 is for calculating the estimated activity of the image signal output from the first field/frame memory 110 in a field or frame unit and the estimated activity of an intended group of pictures (GOP). The rate controller 170 is for controlling the quantizer according to the quantization step size which is determined according to the activity of the image signal output from the activity calculator 160 in a field and frame unit. The inverse quantizer 180 receives the output of the quantizer 130. The inverse DCT 190 receives the output of the inverse quantizer 180. The second field/frame memory 200 is for storing both the restored image signal output from the inverse DCT 190 and a motion-compensated restored image generated from the previous motion-compensated image signal in a field or frame unit according to the encoding mode. The motion estimator 210 is for generating a motion vector which is for constructing a current image with reference to the previous image output from the first field/frame memory. The adaptive estimator 220 adjusts a motion position of the previous image stored in the second field/frame memory 200 with the motion vector output from the motion estimator to produce the previous motion-compensated image signal for constructing the differential image signal and the motion-compensated restored image.
The variable MPEG2 video encoding mode by the encoder shown in FIG. 1 is for entropy-encoding image data which has been transformed by a motion-compensated DCT. Here, the variable bit rate MPEG2 video encoding is performed in consideration of the storage capacity of a disk, the target time of a moving picture to be recorded, the amount of data generated before the GOP to be coded and the time required for reaching the GOP, and the activity of the GOP.
FIGS. 2 and 3 show the hierarchical structure of moving picture data suggested by the MPEG. The uppermost layer of the moving picture data is a sequential layer, which includes information of a transmission bit rate. The next uppermost layer is a GOP layer having a picture structure including an intra frame (I picture) which is produced by performing encoding within the frame, a predicted frame (P picture) which is produced by performing forward-directional estimation encoding and a bi-directional predicted frame (B picture) which is produced by performing bi-directional estimation encoding. Here, the period of one GOP is equal to the period between I pictures.
Since the predetermined amount of data encoded per unit time in a fixed bit rate encoding mode cannot fully represent the real input image, the quality of the decoded image is necessarily unbalanced. FIG. 4 is a block diagram showing the structure of a conventional variable bit rate MPEG2 video decoder that attempts to address the problem inherent in all fixed bit rate encoding schemes. Even though this decoder uses complicated hardware to achieve its goal, it enhances overall image quality by controlling the amount of information to be generated in accordance with the properties of the image.
Modulated MPEG2 data is input into the playback processor 400 which demodulates and channel decodes the same. The demodulated and channel decoded data is buffered in the system controller 410 which also controls the data playback speed of the playback processor 400. In the MPEG2 system audio/video decoder 420, the buffered data from the system controller 410 is separated into compressed audio and compressed video data according to the requested video decoding speed. The separated compressed video data is decoded and converted into an analog video signal in the video digital-to-analog (D/A) converter 430 and the separated compressed audio data is decoded and converted into an analog audio signal in the video digital-to-analog (D/A) converter 440.
To perform fast playback at a speed faster than or equal to the normal playback speed of image data which has MPEG2 MP (Main Profile) @ML(Main Level) shown in FIG. 3 and has been encoded with a variable bit rate, it is important to select a frame to be decoded during the fast playback mode. Also, determination of the fast playback speed, which depends on the relation between the maximum playback speed and the maximum bit rate, is important. Specifically, to decode a P picture, the related I picture should be precedingly decoded. Similarly, I and P pictures decoding must be preceded by a B picture decoding. However, in the case of the conventional variable bit rate MPEG2 video decoder shown in FIG. 4, an underflow may occur from the buffer if the maximum playback speed is less than three times the maximum speed of the variable bit rate. Accordingly, the fast playback cannot performed perfectly.